IICS(CAI)のプロセス呼び出し設定によるエンドポイントの違い
はじめに
データアナリティクス事業本部のkobayashiです。
Informatica Intelligent Cloud Services(以降、IICS)はオンプレミスおよびクラウド環境に置かれているデータサービスとアプリケーションサービスを統合するiPaaS(integration Platform as a Service)製品です。
IICSの機能の一つであるInformatica Cloud Application Integration(以降、CAI)ではAPIをGUIの操作で簡単に構築することができます。
CAIではアプリケーション接続を作成することでプロセス内のサービスステップから作成した様々なサービスを呼び出すことができます。
APIを作る前提でプロセスを作成する場合REST/SOAP
でプロセスを呼び出すことができますが、呼び出し設定によりエンドポイントの種類が8パターンほどできるのでそれをまとめます。
プロセス(API)の呼び出し設定
初めにプロセスを作成すると開始ステップの開始タブ内でプロセスの呼び出し方法を設定できますが、その際に 「アクセス許可の方法」と「ランタイム環境」の設定を行います。
またパブリッシュするとREST用とSOAP用のエンドポイントが作成され、プロセスの詳細
で確認できます。
このエンドポイントはここで設定した
- アクセス許可の方法 :「匿名アクセスを許可」or「特定ユーザー、グループに許可」
- ランタイム環境 : 「クラウドサーバー(インフォマティカのサーバー)」or「SecureAgent」
- REST/SOAP : 「REST」or 「SOAP」
の組み合わせで決まり、エンドポイントのパターンは合計8種類できることになりますのでそれぞれのパターン別にエンドポイントがどうなるかを確認したいと思います。
匿名アクセス ✕ クラウドサーバー
プロセス名はp_hello_world_public
となります。
一番単純なパターンです。
REST/SOAP | エンドポイント |
---|---|
REST | https://{IICSホスト名}/active-bpel/public/rt/{サービス名}/p_hello_world_public |
SOAP | https://{IICSホスト名}/active-bpel/public/soap/{サービス名}/p_hello_world_public |
特定ユーザー、グループ ✕ クラウドサーバー
プロセス名はp_hello_world
となります。
ランタイム環境はクラウドサーバーのままですが、アクセス許可を特定のユーザー・グループで行ったパターンです。
REST/SOAP | エンドポイント |
---|---|
REST | https://{IICSホスト名}/active-bpel/rt/p_hello_world |
SOAP | https://{IICSホスト名}/active-bpel/soap/p_hello_world |
匿名アクセス ✕ SecureAgent
プロセス名はp_hello_world_sa_public
となります。
アクセス許可は匿名アクセスを行いますが、ランタイム環境は用意したSecureAgentのパターンです。
REST/SOAP | エンドポイント |
---|---|
REST | https://{SecureAgentのアドレスorホスト名}:7443/process-engine/public/rt/p_hello_world_sa_public |
SOAP | https://{SecureAgentのアドレスorホスト名}:7443/process-engine/public/soap/p_hello_world_sa_public |
これに加えてSecureAgentの場合は証明書なしのアクセスも行えます。その場合のエンドポイントは以下になります。
REST/SOAP | エンドポイント |
---|---|
REST | http://{SecureAgentのアドレスorホスト名}:7080/process-engine/public/rt/p_hello_world_sa_public |
SOAP | http://{SecureAgentのアドレスorホスト名}:7080/process-engine/public/soap/p_hello_world_sa_public |
特定ユーザー、グループ ✕ SecureAgent
プロセス名はp_hello_world_sa
となります。
特定ユーザー・グループに対してアクセス許可を行った上でランタイム環境も用意したSecureAgentのパターンです。
REST/SOAP | エンドポイント |
---|---|
REST | https://{SecureAgentのアドレスorホスト名}:7443/process-engine/rt/p_hello_world_sa_public |
SOAP | https://{SecureAgentのアドレスorホスト名}:7443/process-engine/soap/p_hello_world_sa_public |
こちらのパターンもさきほど同様に証明書なしのアクセスも行えます。その場合のエンドポイントは以下になります。
REST/SOAP | エンドポイント |
---|---|
REST | http://{SecureAgentのアドレスorホスト名}:7080/process-engine/rt/p_hello_world_sa_public |
SOAP | http://{SecureAgentのアドレスorホスト名}:7080/process-engine/soap/p_hello_world_sa_public |
全パターンのまとめ
全パターンをまとめると以下の様になります。
RESTの場合
匿名アクセス | 特定ユーザー、グループ | |
---|---|---|
クラウドサーバー | https://{IICSホスト名}/active-bpel/public/rt/{サービス名}/{プロセス名} | https://{IICSホスト名}/active-bpel/rt/{プロセス名} |
SecureAgent | https://{SecureAgentのアドレスorホスト名}:7443/process-engine/public/rt/{プロセス名} | https://{SecureAgentのアドレスorホスト名}:7443/process-engine/rt/{プロセス名} |
SOAPの場合
匿名アクセス | 特定ユーザー、グループ | |
---|---|---|
クラウドサーバー | https://{IICSホスト名}/active-bpel/public/soap/{サービス名}/{プロセス名} | https://{IICSホスト名}/active-bpel/soap/{プロセス名} |
SecureAgent | https://{SecureAgentのアドレスorホスト名}:7443/process-engine/public/soap/{プロセス名} | https://{SecureAgentのアドレスorホスト名}:7443/process-engine/soap/{プロセス名} |
*ただし、SecureAgentへhttp接続の場合はhttps->http
、7443->7080
となる
これらのエンドポイントはパブリッシュした後にプロセスの詳細
で確認できますが、アクセス許可と実行環境により若干異なる事を念頭に置いてCAIでプロセスを作成するようにしましょう。(自分は最初エンドポイント名は変わらないと誤認識していて、小一時間ハマってしまいました。)
最後まで読んで頂いてありがとうございました。